package com.toy.wms.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 物流跟踪表
 * </p>
 *
 * @author zcy
 * @since 2025-10-31
 */
@TableName("shipping_track")
public class ShippingTrack implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 关联订单ID(purchase/sales)
     */
    private Long orderId;

    /**
     * 订单类型(purchase/sales)
     */
    private String orderType;

    /**
     * 物流信息JSON
     */
    private String trackingInfo;

    /**
     * 最后检查时间
     */
    private LocalDateTime lastCheck;

    /**
     * 最后物流状态
     */
    private String lastStatus;

    private LocalDateTime createTime;

    private LocalDateTime updateTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public String getTrackingInfo() {
        return trackingInfo;
    }

    public void setTrackingInfo(String trackingInfo) {
        this.trackingInfo = trackingInfo;
    }

    public LocalDateTime getLastCheck() {
        return lastCheck;
    }

    public void setLastCheck(LocalDateTime lastCheck) {
        this.lastCheck = lastCheck;
    }

    public String getLastStatus() {
        return lastStatus;
    }

    public void setLastStatus(String lastStatus) {
        this.lastStatus = lastStatus;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "ShippingTrack{" +
        "id = " + id +
        ", orderId = " + orderId +
        ", orderType = " + orderType +
        ", trackingInfo = " + trackingInfo +
        ", lastCheck = " + lastCheck +
        ", lastStatus = " + lastStatus +
        ", createTime = " + createTime +
        ", updateTime = " + updateTime +
        "}";
    }
}
